﻿using Handday.Erp.Transfer.Enum;
using HandDay.Framework.Common.Services;
using HandDay.Framework.Core.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Handday.Erp.Transfer.Services
{
    /// <summary>
    /// 数据推送执行服务
    /// </summary>
    public interface IPublishExecuteService : ITransientDependency
    {
        /// <summary>
        /// 功能类型
        /// </summary>
        ErpFeatureTypeEnum FeatureType { get; }

        /// <summary>
        /// 数据推送的完整URL地址列表
        /// </summary>
        Func<List<string>> PublishUrlList { get; }

        /// <summary>
        /// 执行逻辑
        /// </summary>
        Task<ServiceResult> ExecuteAsync(ulong corpId, DateTimeOffset dateTime);
    }
}
